const inquirer = require('inquirer')
const utils = require('./utils')
const promptList = [
  {
    type: 'list',
    message: '请选择文件操作类型:',
    name: 'fileType',
    choices: ['添加', '删除', '编辑', '查看'],
  },
]

exports.actionHandle = async (options) => {
  const { fileType } = await inquirer.prompt(promptList)
  switch (fileType) {
    case '添加':
      inquirer
        .prompt([
          {
            type: 'input',
            message: '请输入你要创建的文件名',
            name: 'filename',
          },
        ])
        .then(({ filename }) => {
          utils.addFile(filename)
        })
      break
    case '删除':
      inquirer
        .prompt({
          type: 'list',
          message: '请选择你要删除的文件',
          choices: [...utils.getFile()],
          name: 'filename',
        })
        .then(({ filename }) => {
          utils.delFile(filename)
        })
      break
    case '编辑':
      inquirer
        .prompt([
          {
            type: 'rawlist',
            message: '请选择你要编辑的文件',
            name: 'filename',
            choices: [...utils.getFile()],
          },
          {
            type: 'input',
            message: '请输入你要更改后的文件名',
            name: 'newFile',
          },
        ])
        .then((answers) => {
          //  answers => {} 该对象里面包含所有的问题答案
          utils.editFile(answers)
        })
      break
    case '查看':
      inquirer
        .prompt({
          type: 'list',
          message: '请选择你要查看的文件:',
          name: 'filename',
          choices: [...utils.getFile()],
        })
        .then(({ filename }) => {
          utils.checkFile(filename)
        })
      break
  }
}
